/**
 * Created by DevilsEyes on 2016/3/14.
 */
'use strict';

define(['text!path/coupon/tmp.html'], function (page) {

    var render = template.compile(page);

    var apiList = {
        getCouponList: api + 'user/coupon'
    };

    //状态说明
    // status: 0 可用 -1 不可用
    // type:  0 折扣  1 满减

    ////todo Test测试代码===========
    //var obj = {
    //    couponList: [
    //        {
    //            title: '测试A',
    //            _id: 12312312,
    //            expried: new Date().getTime() + 10000000,
    //            status: 0,
    //            type: 0,
    //            zk: 98,
    //            minus: 200
    //        },
    //        {
    //            title: '测试B',
    //            _id: 12312312,
    //            expried: new Date().getTime() + 10000000,
    //            status: 0,
    //            type: 1,
    //            man: 10,
    //            minus: 2000
    //        },
    //        {
    //            title: '测试C',
    //            _id: 12312312,
    //            expried: new Date().getTime() + 10000000,
    //            status: 0,
    //            type: 1,
    //            man: 999999,
    //            minus: 200
    //        },
    //
    //        {
    //            title: '测试D',
    //            _id: 12312312,
    //            expried: new Date().getTime() + 10000000,
    //            status: 1,
    //            type: 1,
    //            man: 999999,
    //            minus: 200
    //        }
    //    ]
    //};
    //db.set('confirmOrder', {
    //    address: { //不存在则没有邮寄地址
    //        _id: '1231231',
    //        name: '周文斌',
    //        place: '北京市海淀区东北旺南路29号蓝海中心B座北京市海淀区旅游发展委员会29层91-1室',
    //        phone: '15701313531'
    //    },
    //    sku: [ //必存在
    //        {
    //            _id: '1232131231',
    //            pic: 'http://7xs087.com2.z0.glb.qiniucdn.com/%E7%BA%B9%E8%BA%AB%E6%9C%BA3.png',
    //            title: '雕安',
    //            price: 200,
    //            price_cost: 500,
    //            quantity: 10
    //        },
    //        {
    //            _id: '1232131231',
    //            pic: 'http://7xs087.com2.z0.glb.qiniucdn.com/%E7%BA%B9%E8%BA%AB%E6%9C%BA4.png',
    //            title: '雕安',
    //            price: 200,
    //            price_cost: 500,
    //            quantity: 10
    //        }
    //    ],
    //    coupon: { //不存在则没有优惠券可用
    //        title: '满1000减50',
    //        _id: 12312312
    //    },
    //
    //    amount: 13333,
    //    needPay: 13000,
    //
    //    minus: 120,
    //
    //    postage: {
    //        lack: 10,//不存在或0则包邮
    //        cost: 20
    //    }
    //
    //});
    ////todo ======================

    var OPEN_TYPE = {
        VIEW: 0,
        SELECT: 1
    };

    var vm = new Page.creat({
        $id: 'coupon',
        $model: {
            data: {},
            type: OPEN_TYPE.VIEW,
            orderInfo: {},
            $: {},
            select: function () {

                var orderInfo = db.get('confirmOrder');
                if (orderInfo == null) {
                    //todo 获取不到订单信息，前往错误页
                }

                vm.orderInfo = orderInfo;
                vm.type = OPEN_TYPE.SELECT;

                //$.ajax({
                //    url: '../testData/coupon.json',

                ex.jsonp({
                    url: apiList.getCouponList,
                    success: function (obj) {
                        if (!vm.isThisPage())return;
                        console.log(obj);

                        vm.data = {
                            list: obj.data,
                            floor: Math.floor //辅助方法
                        };

                        var amount = orderInfo.amount;

                        //判断是否可用
                        var notAva = [];
                        $.map(vm.data.list, function (v, i) {
                            v.isAvaliable = (v.type == 0 || (v.type == 1 && v.man <= amount));
                            if (v.isAvaliable == false) {
                                notAva.push(v);
                            }
                        });
                        var i = 0;
                        while (i < vm.data.list.length) {
                            if (vm.data.list[i].isAvaliable) {
                                i++
                            } else {
                                vm.data.list.splice(i, 1);
                            }
                        }
                        vm.data.list = vm.data.list.concat(notAva);

                        $('#page').html(render(vm.data));

                        ex.async(function () {

                            vm.bindEvent(vm.event);
                            vm.bind$(vm.$);

                        });
                    }
                })
            },
            view: function () {
                vm.type = OPEN_TYPE.VIEW;

                //$.ajax({
                //    url: '../testData/coupon.json',

                ex.jsonp({
                    url: apiList.getCouponList,
                    success: function (obj) {
                        if (!vm.isThisPage())return;
                        console.log(obj);

                        vm.data = {
                            list: obj.data,
                            floor: Math.floor //辅助方法
                        };

                        //判断是否可用
                        $.map(vm.data.list, function (v) {
                            v.isAvaliable = true;
                        });
                        console.log(vm);

                        $('#page').html(render(vm.data));

                        ex.async(function () {

                            vm.bindEvent(vm.event);
                            vm.bind$(vm.$);

                        });

                    }
                })
            },
            event: {

                clickCoupon: function (index) {
                    if (vm.type != OPEN_TYPE.SELECT)return;
                    var thisCoupon = vm.data.list[index];
                    if (thisCoupon.isAvaliable) {
                        vm.orderInfo.coupon = thisCoupon;
                        db.set('confirmOrder', vm.orderInfo);
                        history.back();
                    }
                }
            }
        }
    });


    return {
        select: function () {
            vm.$init({
                setTitle: '选择优惠券'
            });
            vm.select();
        },
        view: function () {
            vm.$init({
                setTitle: '我的优惠券'
            });
            vm.view();
        }
    }
});